<?php

class BackendSettingsForm extends CFormModel
{
    public $start_size, $finish_size, $price;

    /**
     * @var array Данные по тарифам для сайтов
     */
    public $tariff_site;

    public $country, $country_group;

    public $scenario;

    public $tariff_premium_percent;
    public $tariff_rebill_percent;
    
    public $referrer_premium_percent;
    public $referrer_download_percent;

    public $download_free_1;
    public $download_free_2;
    public $download_free_3;
    public $download_free_4;

    public $premiumSpeedLimit;
    public $fakeFreeSpeedLimit;
    public $fakePremiumSpeedLimit;


    public $upload_servers;

    public $remode_dl_free_active_downloads;
    public $remode_dl_free_filesize_limit;
    public $remode_dl_free_speed_limit;
    public $remode_dl_premium_active_downloads;
    public $remode_dl_premium_filesize_limit;
    public $remode_dl_premium_speed_limit;

    public function rules()
    {
        return array(
            array('referrer_premium_percent, referrer_download_percent, country_group',
                  'numerical',
                  'message' => 'Параметр "{attribute}" должен быть числом'
            ),
            array('tariff_site, tariff_premium_percent, tariff_rebill_percent, scenario, start_size, finish_size, price', 'safe'),
            array('country', 'length', 'is' => 2),
            
            // Scenario: moving country to another group
            array('country,
                   country_group',
                  'required',
                  'on' => 'move_country'
            ),

            // Scenario: change tariff sizes, prices and referral system
            array('tariff_site,
                   tariff_premium_percent,
                   tariff_rebill_percent,
                   referrer_premium_percent,
                   referrer_download_percent,
                   start_size,
                   finish_size,
                   price',
                  'required',
                  'on' => 'tariffs_and_refs'
            ),

            // Сценарий: сохранение настроек скачивания
            array('download_free_1,
                   download_free_2,
                   download_free_3,
                   download_free_4,
                   premiumSpeedLimit,
                   fakeFreeSpeedLimit,
                   fakePremiumSpeedLimit',
                  'numerical',
                  'on' => 'download'
            ),

            array('remode_dl_free_active_downloads,
                   remode_dl_free_filesize_limit,
                   remode_dl_free_speed_limit,
                   remode_dl_premium_active_downloads,
                   remode_dl_premium_filesize_limit,
                   remode_dl_premium_speed_limit',
                  'required',
                  'on' => 'remotedl'
            ),
            // Сценарий: сохранение настроек загрузки
            array('upload_servers', 'safe', 'on' => 'upload'),
        );

    }

    public function attributeLabels()
    {
        return array(
            'country_group' => 'Группа',
            'country' => 'Страна',
            'referrer_premium_percent' => 'Процент реферреру с покупки премиума реферрала',
            'referrer_download_percent' => 'Процент реферреру со скачек реферрала',
            'download_free_1' => 'Скорость при 1-м скачивании',
            'download_free_2' => 'Скорость при 2-м скачивании',
            'download_free_3' => 'Скорость при 3-м скачивании',
            'download_free_4' => 'Скорость при последующих скачиваниях',

            'premiumSpeedLimit' => 'Скорость при скачивании',
            'fakeFreeSpeedLimit' => 'Фэйковая скорость скачкивания (формула для расчета времени скачивания = размер файла/скорость фэйк скачивания):',
            'fakePremiumSpeedLimit' => 'Фэйковая скорость скачкивания (формула для расчета времени скачивания = размер файла/скорость фэйк скачивания):',

            'remode_dl_free_active_downloads' => 'Количество одновременых закачек на сервере',
            'remode_dl_free_filesize_limit' => 'Максимальный размер файла',
            'remode_dl_free_speed_limit' => 'Ограничение скорости для одной закачек',
            'remode_dl_premium_active_downloads' => 'Количество одновременых закачек на сервере',
            'remode_dl_premium_filesize_limit' => 'Максимальный размер файла',
            'remode_dl_premium_speed_limit' => 'Ограничение скорости для одной закачек',
        );
    }
}